Skip to content

Add Nexus deployment workflow, Maven publishing, and utilities#3

Merged
ericlmao merged 12 commits intoreleasefrom
snapshot
Feb 26, 2026
Merged

Add Nexus deployment workflow, Maven publishing, and utilities#3
ericlmao merged 12 commits intoreleasefrom
snapshot

Conversation

@ericlmao
Copy link
Member

This pull request introduces several new utility classes and interfaces to the plugin-engine library, improves command registration for Paper plugins, and adds support for reloadable components. It also updates the project version to 1.1.0 and provides comprehensive documentation in the README.md. The changes enhance plugin development by adding reusable helpers, improving modularity, and increasing developer ergonomics.

New utilities and helpers:

  • Added OptionalBool, a functional-style utility for conditional execution and value mapping based on boolean state.
  • Added IntList, a parser for string lists into integer lists, including support for ranges (e.g., "5-10").
  • Added Cooldowns, a component for managing per-player cooldowns with automatic cleanup on player quit.

Plugin lifecycle and reload support:

  • Introduced the Reloadable interface and integrated reload logic into PaperPlugin, allowing beans implementing Reloadable to be reloaded via the plugin. [1] [2]

Command framework improvements:

  • Added PaperCommand interface and updated PaperCommandRegistry to auto-discover and register only PaperCommand beans, ensuring proper command registration for Paper plugins. [1] [2]

Documentation and versioning:

  • Added a detailed README.md covering features, installation, quick start, and usage examples for plugin developers.
  • Updated the project version to 1.1.0 in both common and paper modules. [1] [2]

Paper plugin enhancements:

  • PaperPlugin now auto-registers all Listener beans on enable, improving event handling setup.
  • Added logging for command registration in PaperCommandRegistry.

These changes collectively make plugin development easier, more modular, and provide robust utility support for common tasks.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant